Simulation-based virtual advisor

ABSTRACT

Various embodiments of the present disclosure relate generally to providing virtual assistants. More specifically, various embodiments of the present disclosure relate to methods and systems for providing a simulation-based virtual advisor. In some embodiments, the systems and methods combine and/or integrate the functionality of a conversational virtual agent (e.g., a virtual assistant) with the functionality of a simulation virtual agent, to provide users, customers, or members with targeted, user-specific information in response to questions or other intentions posed by the users via messages exchanged between the users and the agents.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/019,290, filed Jun. 26, 2018, now allowed, which is a non-provisionalof and claims priority to U.S. Provisional Application No. 62/526,947filed Jun. 29, 2017, entitled “SYSTEMS AND METHODS FOR PROVIDING ASIMULATION-BASED VIRTUAL ADVISOR,” both of which are hereby incorporatedby reference in their entirety for all purposes.

TECHNICAL FIELD

Various embodiments of the present disclosure relate generally toproviding virtual assistants. More specifically, various embodiments ofthe present disclosure relate to methods and systems for providing asimulation-based virtual advisor.

BACKGROUND

Virtual assistants, such as chatbots and other automated applications,communicate with users in a variety of ways. For example, they provideanswers to common or typical customer service inquiries (e.g., “How canI see my account balance?”), they provide users with static or storedinformation (e.g., “How much is in my account?”), and so on. However,virtual assistants, in general, are configured to provide answers tomany different users having similar, or previously asked, questions tothe virtual assistants, and, thus, suffer from various drawbacksassociated with providing realistic, casual, and/or valuable experienceswith users, such as customers or members of entities providing thevirtual assistants.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present disclosure will be described and explainedthrough the use of the accompanying drawings in which:

FIG. 1 illustrates an example of a network-based operating environmentin accordance with various embodiments of the present disclosure.

FIG. 2 illustrates various components of a computing device that may beused in accordance with various embodiments of the present disclosure.

FIG. 3 illustrates various components of a virtual advice platform thatmay be used in accordance with various embodiments of the presentdisclosure.

FIG. 4 is a flow diagram illustrating a method of providingsimulation-based information to a user during a chat conversation with avirtual assistant.

FIG. 5 is a display diagram illustrating an example messaging sessionbetween a user and a virtual assistant.

FIGS. 6A-6D are display diagrams illustrating an example exchange ofmessages between a user and a virtual assistant during a chatconversation.

FIG. 7 illustrates an example of a computer system with which someembodiments of the present disclosure may be utilized.

DETAILED DESCRIPTION Overview

Various embodiments of the present disclosure relate generally toproviding virtual assistants. More specifically, various embodiments ofthe present disclosure relate to methods and systems for providing asimulation-based virtual advisor. In some embodiments, the systems andmethods combine and/or integrate the functionality of a conversationalvirtual agent (e.g., a chatbot or virtual assistant) with thefunctionality of a simulation virtual agent, to provide users,customers, or members with targeted, user-specific information inresponse to questions or other intentions posed by the users viamessages exchanged between the users and the agents.

Thus, in some embodiments, the systems and methods described hereinfacilitate providing advice, such as financial advice or other userrequested guidance, to users via virtual assistants. For example, afinancial services entity, such as a bank, insurance company, financialmanagement company, personal budgeting or online information tool, andso on, may utilize such systems and methods in order to provide theircustomers or members with predictions for how their future financialstatuses (e.g., net worth, overall savings, and so on) may change inresponse to current or proposed actions or financial events (e.g.,buying a car, refinancing a house, changing a 401(k) withholding,increasing insurance coverage, and so on).

The systems and methods, therefore, utilize virtual agents thatfacilitate providing users with near real-time (or, real-time) advice orrecommendations in response to their queries or questions for whetherthey, the users, should perform certain financial actions. Further, thesystems and methods may provide some initial guidance as to a predictedshort-term or long-term impact the action (e.g., the refinanced loan)may have on the user's financial situation or status, among otherbenefits.

In some embodiments, the systems and methods provide such functionalityvia two combined and/or integrated agents. For example, a virtual adviceplatform located at a server and provided by an information servicesentity (e.g., financial services company) that includes the user as amember may include a conversation agent that facilitates message-basedcommunications over a network between a mobile device associated with auser and the virtual advice platform, and a simulation agent thatperforms simulations associated with predicting scenarios for the user,such as various financial impact scenarios.

In some cases, the conversation agent receives messages from the mobiledevice via one or more message communication protocols, sends messagesto the mobile device, during one or more chat conversations with theuser, and identifies and/or determines questions (or other intent) posedby the user within the messages received from the mobile device.

The simulation agent accesses information associated with the user,performs one or more simulations using the accessed informationassociated with the user and based on the questions posed by the user,and provides results based on the performed one or more simulations tothe conversation agent, which may then provide the results to the userduring an ongoing chat conversation.

For example, the systems and methods may receive, via a chatbot of aninformation services platform located at a server, a message over acommunications network from a mobile device associated with a user thatis a member of an entity providing the information services platform,determine a question within the message received from the mobile device,access information associated with the user via one or more databasesassociated with the entity providing the information services platform,perform one or more simulations using the accessed informationassociated with the user and based on the question within the message,and provide, via the chatbot, a message to the mobile device thatincludes a result of the performed one or more simulations.

As another example, the systems and methods may identify a questionwithin a message received from the mobile device during a chatconversation between an application of the mobile device and a chatbotprovided by the information services platform, access informationassociated with the user via one or more databases associated with theentity providing the information services platform, perform one or moresimulations using the accessed information associated with the user andbased on the question identified within the message, and provide, viathe chat conversation, a message to the mobile device that includes aresult of the performed one or more simulations.

Thus, as described herein, the systems and methods provide users withefficient and timely information about the impact of their purchasing orother financial decisions via combined virtual agents, where thecombined virtual agents facilitate conversations and other messagingbetween the users and the platform managing various financial servicesand/or accounts for the users, as well as provide the users withdynamically generated results (based on various simulations) to queriesposed by the users, such as results that provide insight into howdecisions made in the present impact the users in their futures.

For purposes of explanation and illustration, the terms “application”and “application program” are generally synonymous. Further, these termsare applicable to applications running on any kind of device (e.g., adesktop application running on a desktop computer or on a laptopcomputer). Similarly, a “mobile application” applies to software runningon mobile devices. Accordingly, such distinctions will be understood tobe clear from the context of usage of the terms “application” or“application program.” Additionally, for discussion purposes herein, theterms “entity” and “organization” are considered synonymous. In thediscussions presented herein, the term “computer-generated key” or “key”is not limited and will apply to any kind of suitable key generationalgorithms, tokenization algorithms, or cryptographic algorithms. Thus,the term “key” can, in some instances, be similar to “tokens.” In thefollowing description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of embodiments of the present disclosure. However, it willbe apparent on reading the disclosure to one skilled in the art thatembodiments may be practiced without some of these specific details.

Moreover, the techniques introduced here can be embodied asspecial-purpose hardware (e.g., circuitry), as programmable circuitryappropriately programmed with software and/or firmware, or as acombination of special-purpose and programmable circuitry. Hence,embodiments may include a machine-readable medium having stored thereoninstructions that may be used to program a computer (or other electronicdevices) to perform a process. The machine-readable medium may include,but is not limited to, floppy diskettes, optical discs, compact discread-only memories (CD-ROMs), magneto-optical disks, read-only memories(ROMs), random access memories (RAMs), erasable programmable read-onlymemories (EPROMs), electrically erasable programmable read-only memories(EEPROMs), magnetic or optical cards, flash memory, or other type ofmedium/machine-readable medium suitable for storing electronicinstructions.

Examples of the Network Environment

As described herein, the systems and methods facilitate variousexchanges of information (e.g., messages) between user devices, such asmobile devices, and a virtual assistant, or chatbot, provided by avirtual advice platform running on a server, over a network. FIG. 1illustrates an example of a network-based operating environment 100 inwhich some embodiments of the present disclosure may be used. Asillustrated in FIG. 1 , operating environment 100 may includeapplications 105A-105N running on one or more computing devices110A-110M (such as a mobile device; a mobile phone; a telephone; atablet computer; a mobile media device; a mobile gaming device; avehicle-based computer; a dedicated terminal; a public terminal,desktop, or laptop computer; a kiosk; wearable devices such as asmartwatch; a voice-based virtual device (e.g., “Alexa” or “Echo”; andso on). In some embodiments, applications 105A-105N may be stored on oneor more computing devices 110A-110M or may be stored remotely on aserver (in the “cloud”). These computing devices can include mechanismsfor receiving and sending traffic by connecting through network 115 to avirtual advice platform 120 and associated data stores 125 and 130.

Computing devices 110A-110M may be configured to communicate via thenetwork 115 with the virtual advice platform 120. In some embodiments,computing devices 110A-110M can retrieve or submit information to thevirtual advice platform 120 and run one or more applications withcustomized content retrieved by the virtual advice platform 120 and datastores 125 and 130. For example, computing devices 110A-110M can executea browser application or a customized client to enable interactionbetween the computing devices 110A-110M, the virtual advice platform120, and data stores 125 and 130. In some embodiments, the virtualadvice platform 120 can be part of a server located remotely from theelectronic devices.

The virtual advice platform 120 can be running on one or more serversand can be used to facilitate chat conversations or other messagingbetween the computing devices 110A-M, the applications 105A-N, and thevirtual advice platform 120, and/or perform other activities. Forexample, the virtual advice platform 120 may receive messages from oneor more devices 110A-M, extract, parse, or otherwise obtain a questionor other similar intent from within the messages, generate or obtain asimulation result that provides an answer or information to the obtainedquestion, and send, to the devices 110A-M, information representative ofthe simulation result. Further details regarding the operations of thevirtual advice platform 120 are described herein.

Network 115 can be any combination of local area and/or wide areanetworks, using wired and/or wireless communication systems. Network 115can be, or could use, any one or more protocols/technologies: Ethernet,IEEE 802.11 or Wi-Fi, worldwide interoperability for microwave access(WiMAX), cellular telecommunication (e.g., 3G, 4G, 5G), CDMA, cable,digital subscriber line (DSL), etc. Similarly, the networking protocolsused on network 115 may include multiprotocol label switching (MPLS),transmission control protocol/Internet protocol (TCP/IP), User DatagramProtocol (UDP), hypertext transfer protocol (HTTP), simple mail transferprotocol (SMTP), and file transfer protocol (FTP). Data exchanged overnetwork 115 may be represented using technologies, languages, and/orformats, including hypertext markup language (HTML) or extensible markuplanguage (XML). In addition, all or some links can be encrypted usingconventional encryption technologies such as secure sockets layer (SSL),transport layer security (TLS), and Internet Protocol security (IPsec).

Data stores 125 and 130 can be used to manage storage and access to userdata such as user profiles; information relating to goods and servicesthat are of interest to a user; user's financial and personal data;disclosures and compliance information reviewed, acknowledged, or signedby users; data received from third parties; one or morecomputer-generated keys or computer-generated codes communicated tousers for authentication of calling parties involved in simultaneousvoice and data communications with multiple parties over multipleelectronic media including a variety of electronic devices; and otherinformation. Data stores 125 and 130 may be a data repository of a setof integrated objects that are modeled using classes defined in databaseschemas. Data stores 125 and 130 may further include flat files that canstore data. The virtual advice platform 120 and/or other servers maycollect and/or access data from the data stores 125 and 130. Informationprovided by users can be stored in data stores 125 and 130.

FIG. 2 illustrates a set of components 200 within computing device 110according to one or more embodiments of the present disclosure. Thecomputing devices 110A-110M of user(s) may be used when communicatingwith the virtual advice platform 120, such as via chat conversations orother messaging protocols or systems. According to the embodiments shownin FIG. 2 , the computing device 110 can include memory 205, one or moreprocessors 210, operating system 215, application 220, profile module225, and messaging module 230. Other embodiments of the presentinvention may include some, all, or none of these modules andcomponents, along with other modules, applications, and/or components.Still yet, some embodiments may incorporate two or more of these modulesand components into a single module and/or associate a portion of thefunctionality of one or more of these modules with a different module.

Memory 205 can store instructions for running one or more applicationsor modules on processor(s) 210. For example, memory 205 could be used inone or more embodiments to house all or some of the instructions neededto execute the functionality of operating system 215, application 220,profile module 225, and messaging module 230. Generally, memory 205 caninclude any device, mechanism, or populated data structure used forstoring information. In accordance with some embodiments of the presentdisclosure, memory 205 can encompass, but is not limited to, any type ofvolatile memory, nonvolatile memory (RAM), and dynamic memory. Forexample, memory 205 can be random access memory, memory storage devices,optical memory devices, magnetic media, floppy disks, magnetic tapes,hard drives, single in-line memory modules (SIMMs), synchronous dynamicrandom access memory (SDRAM), dual in-line memory modules (DIMMs),Rambus dynamic random access memory (RDRAM), double data rate RAM (DDRRAM), small outline DIMMs (SODIMMs), EPROMs, EEPROMs, compact discs,DVDs, and/or the like. In accordance with some embodiments, memory 205may include one or more disk drives, flash drives, one or moredatabases, one or more tables, one or more files, local cache memories,processor cache memories, relational databases, flat databases, and/orthe like. In addition, those of ordinary skill in the art willappreciate many additional devices and techniques for storinginformation that can be used as memory 205.

Operating system 215 can provide a software package that is capable ofmanaging the hardware resources of computing device 110. Operatingsystem 215 can also provide common services for software applicationsrunning on processor(s) 210. In accordance with various embodiments,operating system 215 can coordinate resources for multiple applications220 that allow a user to access and interact with the virtual adviceplatform 120. For example, application 220 can include an applicationfor financial services, a money transfer application, a socialnetworking application, and/or a gaming application.

Application 220 can access a server and/or a platform associated with anorganization (e.g., the virtual advice platform 120) to sendcommunications, receive messages and/or other information associatedwith results of simulations performed at the platform 120, and so on.

Profile module 225 can maintain personal and financial profiles for auser. Personal data of a user can include a name, an address, a phonenumber, an email, a unique identification number identifying a user, aphotograph of the user, and login credentials such as a username andpassword for launching an application. Profiles may include users'personal data; bank/financial institution data; loan or other accountdata; credit card/debit card data, including electronic walletidentification information; details of one or more goods or servicesthat the user is utilizing; credit or financial history information;credit score information; insurance policies that the user haspurchased; a collection of cryptographic keys for verifying theauthenticity of a remote server associated with the entity offering thegoods or services and/or information identifying a third-partyverification software that both communicates with profile module 225 andalso uses the server-communicated key for verifying the authenticity ofthe server associated with the entity offering the goods or services.The profile module 225 can query a networked database to retrieveprofile information of users. Such profile information can be stored inthe “cloud,” or it can be physically coupled to profile module 225.

The messaging module 230, in addition to or as part of the application220, may provide functionality for sending messages (e.g., text or SMSmessages, instant messages, chat messages, and so on), between thecomputing device 110 and the platform 120. In some implementations,messaging module 230 can use a trusted agent to send and receivemessages.

Examples of Providing a Simulation-Based Virtual Agent

As described herein, the virtual advice platform 120 may provide variousmodules for identifying questions, queries, and/or actions to beperformed by users within messages sent to the platform 120 (e.g.,during a chat conversation), and for running or generating simulationresults that identify a possible impact or effect to the users inresponse to the actions being performed.

FIG. 3 illustrates a set of components 300 within a system, such thevirtual advice platform 120, according to one or more embodiments of thepresent disclosure. In some embodiments, these components can beincluded in a server maintained by the entity that owns and operates thevirtual advice platform 120. According to the embodiments shown in FIG.3 , the virtual advice platform 120 can include memory 305, one or moreprocessors 310, profile module 315, a conversation agent 320 thatincludes a communications module 322 and a translation module 324, and asimulation agent 330 that includes a user information module 332, asimulation module 334, and a results module 336. Other embodiments ofthe present invention may include some, all, or none of these modulesand components along with other modules, applications, and/orcomponents. Still yet, some embodiments may incorporate two or more ofthese modules and components into a single module and/or associate aportion of the functionality of one or more of these modules with adifferent module.

Memory 305 can be any device, mechanism, or populated data structureused for storing information, as described above for memory 205. Memory305 can store instructions for running one or more applications ormodules on processor(s) 310. For example, memory 305 could be used inone or more embodiments to house all or some of the instructions neededto execute the functionality of the conversation agent 320, thecommunications module 322, the translation module 324, the simulationagent 330, the user information module 332, the simulation module 334,and/or the results module 336.

Profile module 315 can maintain profiles for users that reflect thepersonal and financial profiles of the users, similar to the profilesdescribed with respect to profile module 225. In some embodiments,profile module 315 can store a collection of keys and/orsession-specific codes that are unique to a user. When a user wants toadd a device to the data exchange session or to invite other users to amulti-party conference, one or more keys and/or one or moresession-specific codes can be communicated to a user for authenticatinga user's device or a remote server depending on the authenticationscenario.

The conversation agent 320 facilitates message-based communications overa network between a mobile device associated with a user and a virtualadvice platform at a server, which may be provided by an informationservices entity that includes the user as a member. The conversationagent 320, for example, may be part of a chatbot or other virtualassistant, and may communicate with the user via the application 220running on the user's device 110.

In some embodiments, the conversation agent 320 facilitatescommunications via various message communication protocols or systems,including text or SMS message protocols, instant message protocols,online chat protocols, and so on. For example, the virtual adviceplatform 120 may employ a cloud communications platform, such asTwilio™, which provides the cloud-based communications platform.Conversation agent 320 can use a trusted agent to communicate with theuser. For example, conversation agent 320 can receive a requestinitiated by a user via a client application. The request can include anaccess token and the details of the request. The access token can be acode or other identifier of the user sent from the client applicationallowing the client application to access the user's data. The accesstoken can be temporary in its existence but typically stays active untilthe user changes a password or stops using the client application.Conversation agent 320 can validate the access token via a standardOauth2.0 specification.

The conversation agent 320 may include various modules, such as thecommunications module 322, which is configured to receive messages fromthe mobile device via the one or more message communication protocolsand send messages to the mobile device, and the translation module 324,which is configured to determine questions posed by the user within themessages received from the mobile device.

The translation module 324 may utilize various tools to parse, analyze,and extract information from messages, such as questions posed by users,intent of messages, potential actions or events identified by users, andso on. The translation module 324 may apply various natural languageprocessing (NLP) techniques to identify one or more keywords within amessage that signify or are part of a question or action posed withinthe message.

For example, a member of a financial services entity sends a textmessage to the virtual advice platform with the following text: “ShouldI spend $25,000 on a new car?” The translation module 324, followingvarious NLP techniques, may scan the message and identify “should,”“buy,” “car” and “?” as keywords or characters, and determine the useris asking a question regarding the purchase of a car.

The simulation agent 330 may perform simulations associated withpredicting scenarios for the user, such as scenarios that identify apredicted impact or effect to a user's future financial situation orstatus in response to actions performed in the present, such aspurchases, changes in saving plans, modifications to current loans,selling or buying of assets, and so on.

In performing simulations, the simulation agent 330 may access variousonline or local services, such as simulation models built and hosted byAnyLogic, data stored in various databases, such as SQL or otherdatabase types described herein, and so on. The simulation agent 330includes the user information module 332, which is configured to accessinformation associated with the user, the simulation module 334, whichis configured to perform one or more simulations using the accessedinformation associated with the user and based on the questions posed bythe user, and the results module 336, which is configured to provideresults based on the performed one or more simulations to theconversation agent 320.

For example, if the translation module 324 of the conversation agent 320identifies a question posed by the user that is associated with apurchase of a good, the simulation module 334 of the simulation agent330 may perform a simulation that identifies a predicted impact of afuture financial status for the user in response to the purchase of thegood by the user.

As another example, if the translation module 324 of the conversationagent 320 identifies a question posed by the user that is associatedwith a change in financial planning for the user, the simulation module334 of the simulation agent 330 may perform a simulation that identifiesa future financial status for the user (e.g., net worth in 5 or 10years) in response to the action being performed by the user.

The simulation module 334, therefore, may be an agent-based model andcan utilize information about the user (e.g., current net worth, totalamount of assets, amounts in savings or brokerage accounts, total amountof loans or other debts, current salary or income, and so on), whensimulating future results for actions performed today or in the nearterm.

As described herein, the virtual advice platform 120 and/or variouscomponents of the platform 120 may perform operations for providingusers with simulation-based results to questions or other actionsidentified within messages during chat conversations or othercommunication sessions over a network between the users and virtualassistants associated with the platform 120. FIG. 4 presents a set ofsuch operations. In some embodiments, fewer than all of the operationsare performed, whereas in other embodiments additional operations areperformed. Moreover, in some embodiments, the operations may beperformed in different orders or in parallel. The operations can beperformed by various components of computing devices 110 and/or thevirtual advice platform 120 such as those illustrated in FIG. 2 and/orFIG. 3 .

FIG. 4 is a flow diagram illustrating a method 400 of providingsimulation-based information to a user during a chat conversation orother communication session with a virtual assistant or agent. In someembodiments, the method 400 can be performed by a server coupled to thevirtual advice platform 120 while in other embodiments, the method 400can be performed by an application program (e.g., a mobile applicationor a desktop application) running on a user's computing device.

In operation 410, the virtual advice platform 120 receives, via achatbot or other virtual assistant of an information services platform(e.g., the virtual advice platform 120) located at a server, a messageover a communications network from a mobile device associated with auser that is a member of an entity providing the information servicesplatform. For example, the communications module 322 of the conversationagent 320 may receive messages from the mobile device via the one ormore message communication protocols (and, send messages back to themobile device).

The communications module 322 may utilize various information associatedwith the mobile device and/or the messages to identify and/orauthenticate the user during a messaging session. For example, during aninstant message or chat session, the module 322 may initially identifythe user via their username, but may also request and obtain usercredentials or other identification information, such as biographicalinformation (e.g., full name, phone number, address, and so on),security information (e.g., a security phrase, the last 4 digits of theuser's social security number, and so on), answers to securityquestions, or other information.

As another example, such as during a text message session, the module322 may initially identify the user via the phone number from which theuser is sending messages, and, in some cases, query the user foradditional information to authenticate the user to the session.

In operation 420, the platform 120 determines and/or identifies aquestion within the message received from the mobile device. Forexample, the translation module 324 of the conversation agent 320 mayutilize various tools to parse, analyze, and extract information frommessages, such as questions posed by users, intent of messages,potential actions or events identified by users, and so on. In somecases, the translation module 324 may apply various natural languageprocessing (NLP) techniques to identify one or more keywords within amessage that signify or are part of a question or action posed withinthe message.

In operation 430, the platform 120 accesses information associated withthe user via one or more databases associated with the entity providingthe information services platform. For example, the user informationmodule 332 of the simulation agent 330 may access information associatedwith the user from one or more of the data stores 125 and/or 130.

As described herein, the module 332 may obtain information from avariety of different accounts or services managed and/or provided by anentity, such as a financial services entity, providing the platform 120.Example information includes biographical information and financialhistory information (e.g., spending habits, credit score, loan paymenthistory, savings rate, and so on) associated with the user, and/orinformation from one or more loan accounts provided to the user by theentity providing the information services platform and/or one or morebank accounts provided to the user by the entity providing the platform120.

In operation 440, the platform 120 performs one or more simulationsusing the accessed information associated with the user and based on thequestion within the message. For example, the simulation module 334 ofthe simulation agent 330 may perform one or more simulations using theaccessed information associated with the user and based on the questionsposed by the user.

As described herein, the simulation module 334 may perform simulationsto identify and/or predict a future impact associated with a current orpresent action performed by the user (e.g., simulating how the user'sfuture net worth change should the user buy a car at a certain pricetoday), simulations to identify and/or predict a future impactassociated with a current or present modification to the user'sfinancial planning (e.g., simulating how the user's total assets changeover time should the user adjust their 401k or savings contributions),and so on.

Of course, the platform 120 may generate simulation results for avariety of different posed questions or potential actions or eventsassociated with a user. Some examples include:

The platform 120 may determine a future impact to the user's financialstatus in response to a question of “What happens if I get into a caraccident with my current coverage?” or “What is the best coverage incase I get into a car accident in the next year?”;

The platform 120 may determine a future impact to the user's net worthin response to a question of “How does a purchase of a $25,000 carimpact me?” or “What is a reasonable price for car given my situation?”;

The platform 120 may determine a future impact to the user's work lifein response to a question of “When can I retire given my current rate ofsavings?” or “What do I need to do to retire in 5 or 10 years?”; and soon.

In operation 450, the platform 120 provides, via the chatbot or virtualassistant, a message to the mobile device. The content of the message tothe user can include guidance or advice about the subject matter of theuser's initial message. The content of the message to the user canfurther include a result of the performed one or more simulations. Forexample, the results module 336 of the simulation agent 330 may providethe results based on the performed one or more simulations to theconversation agent 320, such as by providing an answer to the questionbased on the result or results of the performed one or more simulations.

FIG. 5 is a display diagram illustrating an example messaging session500 between a user and a virtual assistant. As depicted, the messagingsession 500 includes an initial message 510 sent from a user at a mobiledevice to a virtual assistant associated with a financial servicesentity. Via the systems and methods described herein, the virtual adviceplatform 120 receives the message 510 and determines the messageincludes a question of whether the user should buy a car, given certainpurchase parameters (e.g., price, down payment, trade in value, and soon).

The platform 120 obtains information associated with the user (e.g.,current assets and account information, loan information, and so on),and performs a simulation to determine the potential car purchase'simpact on the user's short term and long term financial situation orstatus. The platform 120 then generates and sends a return message 520that displays information representing one or more results of thesimulation, such as an indication that the user can “likely” afford thetransaction (e.g., the user's financial status may not be impacted).Further, the platform 120 may provide the user with other complementaryinformation 525, such as information and/or links to financial servicesprovided by the entity (e.g., car loans) and associated with therequested actions.

To further illustrate the flow of communications between users and theplatform 120, FIGS. 6A-6D depict an example exchange of messages 600between a user and a virtual assistant during a messaging session. Forexample, a user is interested in buying a car, and contacts the platform120 obtain advice in near real-time and specific to his/her currentfinancial situation.

As shown in FIG. 6A, the user sends a message 610 to the virtualassistant of “I want to buy a car.” The platform 120 determines themessage 610 includes a question about buying a car and responds, via oneor more modules of the conversation agent 320, with an initial returnmessage 615 to obtain some information from the user, such as thepurchase price of the car.

Continuing to FIG. 6B, the user responds with a message 620 indicatingthe purchase price (e.g., “$20,000’). and the virtual assistant respondswith an additional query 625 for more information, such as the trade invalue of the user's current vehicle. In FIG. 6C, the user sends amessage 630 providing the information (e.g., “$4,000’), and the virtualassistant requests 635 some more information (e.g., down paymentinformation).

In FIG. 4D, the user provides a message 640 with the request information(e.g., “$5,000). Using the information obtaining during the messagingsession (e.g., via messages 610-640), the platform 120 obtains financialinformation for the user, performs one or more simulations as describedherein, and determines a result associated with how the requested carpurchase will impact the user's long term financial status.

As shown in FIG. 4D, the platform 120 sends a message 645 that presentsthe results of the simulation (e.g., the user's net worth in 5 yearswill decrease), as well as a message 650 that provides a savingrecommendation to the user, and a message 655 that identifies toolsprovided by the platform 120 to assist the user in saving for thepurchase. Of course, the platform 120 may provide other information.

Thus, in some embodiments, the systems and methods provides virtualadvice to users by identifying a question within a message receivedduring a chat or messaging conversation between an application of a userdevice and a virtual assistant provided by an information servicesplatform or other virtual advice platform, access information associatedwith the users via one or more databases associated with the entityproviding the information services platform, perform one or moresimulations using the accessed information associated with the user andbased on the question identified within the message, and provide, viathe conversation, a message to the user that includes a result of theperformed one or more simulations.

In some embodiments, therefore, the systems and methods combine thefunctionality of virtual assistants with simulation agents to providemembers, customers, and/or users of entities, such as financial servicesentities, with targeted predictions of the future impact of actions orother events (e.g., large purchases) performed by users in the presentday. Thus, the systems and methods may enhance the functionality ofvirtual assistants and other similar computing applications, among otherbenefits.

Computer System Overview

Embodiments of the present disclosure include various steps andoperations, which have been described above. A variety of these stepsand operations may be performed by hardware components or they may beembodied in machine-executable instructions, which may be used to causea general-purpose or special-purpose processor programmed with theinstructions to perform the steps. Alternatively, the steps may beperformed by a combination of hardware, software, and/or firmware. Assuch, FIG. 7 is an example of a computer system 700 with whichembodiments of the present disclosure may be utilized. According to thepresent example, the computer system includes an interconnect 710, atleast one processor 720, at least one communication port 730, a mainmemory 740, a removable storage media 750, a read-only memory 760, and amass storage device 770.

Processor(s) 720 can be any known processor, such as, but not limitedto, an Intel® Itanium® or Itanium 2® processor(s), or AMD® Opteron® orAthlon MP® processor(s), or Motorola® lines of processors. Communicationport(s) 730 can be any of an RS-232 port for use with a modem-baseddialup connection, a 10/100 Ethernet port, or a Gigabit port usingcopper or fiber. Communication port(s) 730 may be chosen, depending on anetwork such a Local Area Network (LAN), Wide Area Network (WAN), or anynetwork to which the computer system 700 connects.

Main memory 740 can be random access memory (RAM) or any other dynamicstorage device(s) commonly known in the art. Read-only memory 760 can beany static storage device(s), such as programmable read-only memory(PROM) chips for storing static information, such as instructions forprocessor(s) 720.

Mass storage device 770 can be used to store information andinstructions. For example, hard disks such as the Adaptec® family ofSCSI drives, an optical disc, an array of disks such as RAID, theAdaptec family of RAID drives, or any other mass storage devices may beused.

Interconnect 710 communicatively couples processor(s) 720 with the othermemory, storage, and communication blocks. Interconnect 710 can be aPCI/PCI-X- or SCSI-based system bus, depending on the storage devicesused.

Removable storage media 750 can be any kind of external hard-drives,floppy drives, USB drives, IOMEGA® Zip Drives, compact disc-read-onlymemory (CD-ROM), compact disc-re-writable (CD-RW), or digital videodisc-read-only memory (DVD-ROM).

The components described above are meant to exemplify some types ofpossibilities. In no way should the aforementioned examples limit thedisclosure, as they are only exemplary embodiments.

Terminology

Brief definitions of terms, abbreviations, and phrases used throughoutthis application and the appendices are given below.

The terms “connected” or “coupled” and related terms are used in anoperational sense and are not necessarily limited to a direct physicalconnection or coupling. Thus, for example, two devices may be coupleddirectly or via one or more intermediary media or devices. As anotherexample, devices may be coupled in such a way that information can bepassed therebetween, while not sharing any physical connection with oneanother. Based on the disclosure provided herein, one of ordinary skillin the art will appreciate a variety of ways in which connection orcoupling exists in accordance with the aforementioned definition.

The phrases “in some embodiments,” “according to some embodiments,” “inthe embodiments shown,” “in other embodiments,” “embodiments,” and thelike generally mean that the particular feature, structure, orcharacteristic following the phrase is included in at least oneembodiment of the present disclosure and may be included in more thanone embodiment of the present disclosure. In addition, such phrases donot necessarily refer to the same embodiments or to differentembodiments.

If the specification states a component or feature “may,” “can,”“could,” or “might” be included or have a characteristic, thatparticular component or feature is not required to be included or havethe characteristic.

The term “responsive” includes completely or partially responsive.

The term “module” refers broadly to a software, hardware, or firmware(or any combination thereof) component. Modules are typically functionalcomponents that can generate useful data or other output using specifiedinput(s). A module may or may not be self-contained. An applicationprogram (also called an “application”) may include one or more modules,or a module can include one or more application programs.

The term “network” generally refers to a group of interconnected devicescapable of exchanging information. A network may be as few as severalpersonal computers on a Local Area Network (LAN) or as large as theInternet, a worldwide network of computers. As used herein, “network” isintended to encompass any network capable of transmitting informationfrom one entity to another. In some cases, a network may be comprised ofmultiple networks, even multiple heterogeneous networks, such as one ormore border networks, voice networks, broadband networks, financialnetworks, service provider networks, Internet Service Provider (ISP)networks, and/or Public Switched Telephone Networks (PSTNs)interconnected via gateways operable to facilitate communicationsbetween and among the various networks.

Also, for the sake of illustration, various embodiments of the presentdisclosure have herein been described in the context of computerprograms, physical components, and logical interactions within moderncomputer networks. Importantly, while these embodiments describe variousembodiments of the present disclosure in relation to modern computernetworks and programs, the method and apparatus described herein areequally applicable to other systems, devices, and networks, as oneskilled in the art will appreciate. As such, the illustratedapplications of the embodiments of the present disclosure are not meantto be limiting, but instead are examples. Other systems, devices, andnetworks to which embodiments of the present disclosure are applicableinclude, but are not limited to, other types of communication andcomputer devices and systems. More specifically, embodiments areapplicable to communication systems, services, and devices such as cellphone networks and compatible devices. In addition, embodiments areapplicable to all levels of computing, from the personal computer tolarge network mainframes and servers.

In conclusion, the present disclosure discloses novel systems, methods,and arrangements for authentication of calling parties for simultaneousvoice and data communications with multiple parties over multipleelectronic mediums including a variety of electronic devices. Whiledetailed descriptions of one or more embodiments of the disclosure havebeen given above, various alternatives, modifications, and equivalentswill be apparent to those skilled in the art without varying from thespirit of the disclosure. For example, while the embodiments describedabove refer to particular features, the scope of this disclosure alsoincludes embodiments having different combinations of features andembodiments that do not include all of the described features.Accordingly, the scope of the present disclosure is intended to embraceall such alternatives, modifications, and variations as fall within thescope of the claims, together with all equivalents thereof. Therefore,the above description should not be taken as limiting.

What is claimed is:
 1. A method of facilitating communications over anetwork between a device associated with a user and a virtual adviceplatform provided by an information services entity, the methodcomprising: receiving, from the device, at least one question, posed bythe user and related to a financial purchase; performing at least onesimulation associated with predicting scenarios for the at least onequestion related to the financial purchase, wherein the performing theat least one simulation includes: accessing user information from atleast one loan account or at least one bank account associated with theuser by the information services entity; identifying a predicted impact,of a total amount of debt for the user in response to the financialpurchase, using the accessed user information from the at least one loanaccount or the at least one bank account; and identifying a net worthfor the user in response to the financial purchase; and sending amessage to the device that includes information representing a result ofthe at least one simulation, wherein the message includes arecommendation of whether the user should make the financial purchaseincluding: in response to the recommendation being to make the financialpurchase, providing a first simulation result with the predicted impacton a long-term financial status of the user, and in response to therecommendation being to not make the financial purchase, providing asecond simulation result with a negative predicted impact on thelong-term financial status of the user and an alternative plan, whereinthe alternative plan includes an alternative recommendation for the userto make the financial purchase at a later date, and at least onepredicted impact on the long-term financial status of the user based onmaking the financial purchase at the later date; and identifying asecond question posed by the user that is associated with a change infinancial planning for the user to make the financial purchase.
 2. Themethod of claim 1, The method of claim 1, further comprising:identifying, via a natural language processing operation, at least onekeyword within the at least one question that is associated with thefinancial purchase.
 3. The method of claim 1, further comprising:providing a virtual assistant accessible to the device via anapplication running on the device that is provided by the informationservices entity.
 4. The method of claim 1, wherein the informationservices entity is a financial services entity that provides at leastone financial account to the user.
 5. The method of claim 1, wherein theinformation services entity is an online personal services entity thataggregates information from at least one financial account associatedwith the user.
 6. A non-transitory computer-readable medium storinginstructions that, when executed by a computing system, cause thecomputing system to perform operations for facilitating communicationsover a network between a device associated with a user and a virtualadvice platform provided by an information services entity, theoperations comprising: receiving, from the device, at least onequestion, posed by the user and related to a financial purchase;performing at least one simulation associated with predicting scenariosfor the at least one question related to the financial purchase, whereinthe performing the at least one simulation includes: accessing userinformation from at least one loan account or at least one bank accountassociated with the user by the information services entity; identifyinga predicted impact, of a total amount of debt for the user in responseto the financial purchase, using the accessed user information from theat least one loan account or the at least one bank account; andidentifying a net worth for the user in response to the financialpurchase; and sending a message to the device that includes informationrepresenting a result of the at least one simulation, wherein themessage includes a recommendation of whether the user should make thefinancial purchase including: in response to the recommendation being tomake the financial purchase, providing a first simulation result withthe predicted impact on a long-term financial status of the user, and inresponse to the recommendation being to not make the financial purchase,providing a second simulation result with a negative predicted impact onthe long-term financial status of the user and an alternative plan,wherein the alternative plan includes an alternative recommendation forthe user to make the financial purchase at a later date, and at leastone predicted impact on the long-term financial status of the user basedon making the financial purchase at the later date; and identifying asecond question posed by the user that is associated with a change infinancial planning for the user to make the financial purchase.
 7. Thenon-transitory computer-readable medium of claim 6, wherein theoperations further comprise: identifying, via a natural languageprocessing operation, at least one keyword within the at least onequestion that is associated with the financial purchase.
 8. Thenon-transitory computer-readable medium of claim 6, wherein theoperations further comprise: providing a virtual assistant accessible tothe device via an application running on the device that is provided bythe information services entity.
 9. The non-transitory computer-readablemedium of claim 6, wherein the information services entity is afinancial services entity that provides at least one financial accountto the user.
 10. The non-transitory computer-readable medium of claim 6,wherein the information services entity is an online personal servicesentity that aggregates information from at least one financial accountassociated with the user.
 11. A system comprising: one or moreprocessors; and one or more memories storing instructions that, whenexecuted by the one or more processors, cause the system to perform aprocess of facilitating communications over a network between a deviceassociated with a user and a virtual advice platform provided by aninformation services entity, the process comprising: receiving, from thedevice, at least one question, posed by the user and related to afinancial purchase; performing at least one simulation associated withpredicting scenarios for the at least one question related to thefinancial purchase, wherein the performing the at least one simulationincludes: accessing user information from at least one loan account orat least one bank account associated with the user by the informationservices entity; identifying a predicted impact, of a total amount ofdebt for the user in response to the financial purchase, using theaccessed user information from the at least one loan account or the atleast one bank account; and identifying a net worth for the user inresponse to the financial purchase; and sending a message to the devicethat includes information representing a result of the at least onesimulation, wherein the message includes a recommendation of whether theuser should make the financial purchase including: in response to therecommendation being to make the financial purchase, providing a firstsimulation result with the predicted impact on a long-term financialstatus of the user, and in response to the recommendation being to notmake the financial purchase, providing a second simulation result with anegative predicted impact on the long-term financial status of the userand an alternative plan, wherein the alternative plan includes analternative recommendation for the user to make the financial purchaseat a later date, and at least one predicted impact on the long-termfinancial status of the user based on making the financial purchase atthe later date; and identifying a second question posed by the user thatis associated with a change in financial planning for the user to makethe financial purchase.
 12. The system according to claim 11, whereinthe process further comprises: identifying, via a natural languageprocessing operation, at least one keyword within the at least onequestion that is associated with the financial purchase.
 13. The systemaccording to claim 11, wherein the process further comprises: providinga virtual assistant accessible to the device via an application runningon the device that is provided by the information services entity. 14.The system according to claim 11, wherein the information servicesentity is a financial services entity that provides at least onefinancial account to the user, and wherein the information servicesentity is an online personal services entity that aggregates informationfrom at least the one financial account associated with the user.